Make remote push the primary flow - #63
Merged
Merged
Conversation
chruffins
marked this pull request as ready for review
August 14, 2026 15:12
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes using high effort and found 3 potential issues.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit 0a20e7e. Configure here.
sjmiller609
removed their request for review
August 17, 2026 19:52
Contributor
|
we discussed potential simplification to match docker syntax, re-request when desired! |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

summary
big breaking change:
hypeman push TARGETno longer does local pushes. those are now done withhypeman push local TARGEThypeman push TARGETthe Docker-like remote-push flowhypeman push IMAGE TARGEThypeman push local IMAGE [TARGET]push createnew push UX
Docker tag → remote registry
The target must exist in the local Docker daemon. The CLI stages it into Hypeman, waits for image conversion, then queues the remote push. For an already-cached Hypeman image, use the two-argument form below.
cached Hypeman image → remote registry
The command validates references, requires an explicit target tag, waits for completion, and reports status plus the final digest.
local Docker → Hypeman only
detached pushes
Returns the push ID immediately. Existing
hypeman push create IMAGE TARGETandhypeman push remote IMAGE TARGETremain detached compatibility forms.status and inspection
Interactive terminals show a single updating status line. CI and piped output use plain newline status.
credentials
The server Docker keychain remains the default when credentials are omitted.
structured output
Direct pushes return the final result in structured formats. Add
--detachto return the queued result instead.tests
GOCACHE=/tmp/hypeman-go-build go test ./...Note
Medium Risk
Breaking CLI contract will break existing scripts that relied on
hypeman pushfor local-only uploads; changes are confined to the CLI and reuse existing image-wait/push APIs.Overview
Breaking change: the default
hypeman pushbehavior is now remote registry push, not uploading a local image into Hypeman only. Local daemon → Hypeman uploads move tohypeman push local.The top-level command is reshaped into Docker-style flows:
hypeman push TARGETloads that tag from the local Docker daemon, stages it into Hypeman (with upload progress and digest output), waits for the image record and ready state, then runs a remote push to the same reference.hypeman push IMAGE TARGETpushes an image already in Hypeman and blocks until the job finishes, with live status (in-place line on TTYs, newline logs in CI).--detach(and legacypush create/remote) queue the job and print the push ID.Remote pushes gain shared flags (
--password-stdin, registry creds,--insecure), stricter target validation (explicit tag), andpush ls/push inspectaliases. Local uploads pick up Docker-like stderr messaging, HTTP/HTTPS base URL checks, and byte progress duringremote.Write.Reviewed by Cursor Bugbot for commit a8a0263. Bugbot is set up for automated code reviews on this repo. Configure here.
follow-up
hypeman image tag SOURCE TARGETand the corresponding API support. This is intentionally deferred so this PR remains CLI-only; the current flow stages local Docker tags as a bridge.